package com.hunliji.monitor.service.api;

import com.hunliji.common.response.PageData;
import com.hunliji.monitor.service.api.model.bo.UserInfoBO;
import com.hunliji.monitor.service.api.model.param.QueryUserParam;

import java.util.List;
import java.util.Map;

/**
 * File：UserInfoService.java<br> Title: <br> Description: <br>
 *
 * @author lejin Date: 2022/10/10
 */
public interface UserInfoService {

    UserInfoBO getById(Long id);

    List<UserInfoBO> getListByQuery(String name, Long id);

    List<UserInfoBO> getListByIds(List<Long> ids);

    Map<Long, UserInfoBO> getByIds(List<Long> ids);

    void insertOne(UserInfoBO userInfoBO);

    void updateOne(UserInfoBO userInfoBO);

    void deleteOne(Long id);

    /**
     * 分页 查询
     * @param queryUserParam
     * @return
     */
    PageData<UserInfoBO> queryPage(QueryUserParam queryUserParam);

    /**
     * 使用邮箱查询
     * @param mail
     * @return
     */
    UserInfoBO queryByMail(String mail);

}
